home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
System Booster
/
System Booster.iso
/
Disksavers
/
FastDisk
/
FastDisk.doc
< prev
next >
Wrap
Text File
|
1996-09-26
|
18KB
|
529 lines
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mNAME
0mFastDisk - Disk-Optimizer/Copier
1mSYNOPSIS
FastDisk 0m[ [FROM] <device> ] [ [TO] <device> ]
[ FORMAT | NOFORMAT ] [ VERIFY | NOVERIFY ]
[ [FILESYSTEM] FFS | SFS | SRC | DEV ]
[ [BUFFERMODE] HUMBLE | FAIR | GREEDY | IGNORANT ]
[ [DISPLAY] CLI | WINDOW ]
1mDEFAULTS
FastDisk 0mDF0: TO DF1: FORMAT NOVERIFY DEV GREEDY WINDOW
1mOVERVIEW
FastDisk 0mis a high-performance disk optimizing tool which
decreases access time for files and directories. This is
achieved by creating a disk with an optimized sector layout,
including linear directory layout, .info and small file
precedence and minimized track-boundary crossing for data
blocks.
1mFastDisk 0mwill work with any 4mAmigaDOS0m device of any size
provided that the underlying Exec-device supports
trackdisk.device commands (i.e. all block-oriented
Exec-devices).
1mFastDisk 0msupports blocksizes other than 512 Byte.
1mFastDisk 0msupports the standard 4mAmigaDOS0m filesystem, the fast
filing system and automatic or forced filesystem
conversion.
1mFastDisk 0mperforms intelligent block pre-caching, reducing
execution time to that of a standard 4mDiskCopy0m or less.
1mFastDisk 0mhas four different modes of operation, ranging from
a minimum memory mode without block caching to reckless
memory eating for maximum performance.
1mFastDisk 0mis able to detect low-memory situations (via
3mASDG-LowMem.library 0m) and will release allocated non-vital
memory if these occur.
1mFastDisk 0mhas a nice intuition-interface, but can also be
used in a CLI-only mode and can take its parameters from the
commandline, WorkBench-Tooltypes, Manx environment and
Commodore ENV: environment.
1mFastDisk 0mruns under KickStart 1.2 / 1.3 and 2.0 and needs
the 3marp.library(V.39+) 0mto run. The 3mASDG-LowMem.library 0mis
recommended for full functionality but not mandatory.
Torsten Stolpmann -1- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mDESCRIPTION
FastDisk 0mcan be started from either 4mWorkBench0m or 4mCLI0m. The
following 4mCLI0m parameters are possible:
1mFROM 0m<1mdevice0m>
Using the 1mFROM 0mparameter you may specify the source device
which contains the 4mAmigaDOS0m volume you want to optimize.
The ':' character must be included for the device name to be
recognized. The 1mFROM 0mkeyword is optional and may be
omitted.
Default source device is 4mDF00m:.
1mTO 0m<1mdevice0m>
Using the 1mTO 0mparameter you may specify the destination
device which contains the disk to be overwritten with the
contents of the source disk. The 1mTO 0mkeyword is optional and
can be omitted unless you want to specify the destination
device before the source device, in which case it is
mandatory. The ':' character must be included for the
device name to be recognized.
Default destination device is 4mDF10m:.
Please note that source and destination may not be equal,
'on-disk' optimization will be covered in the next release.
1mFORMAT
0mThis parameter tells 1mFastDisk 0mto format the whole
destination disk. This is needed for unformatted disks and
generally useful for every optimization because it wipes out
all former contents of the destination disk, which may
irritate disk-repair utilities such as 4mDiskDoctor0m or 4mFixDisk0m
(especially 4mDiskDoctor0m, it gets confused often). This is
the default option.
1mNOFORMAT
FastDisk 0mwill only write those tracks which contain data,
speeding up the optimization (with the above
disadvantages). If 1mFastDisk 0mdetects an unreadable disk in
the destination device this option is automatically switched
to 1mFORMAT0m.
1mVERIFY
0mThe complete destination disk will be scanned for
read-errors after the optimization.
1mNOVERIFY
0mNo verification of the destination disk. This is the
default option.
Torsten Stolpmann -2- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mFILESYSTEM SFS
0mThe destination disk will be a standard file-system disk.
The 1mFILESYSTEM 0mkeyword is optional.
1mFILESYSTEM FFS
0mThe destination disk will be a fast file-system disk.
The 1mFILESYSTEM 0mkeyword is optional.
1mFILESYSTEM SRC
0mThe destination disk will have the same file-system type as
the source disk.
The 1mFILESYSTEM 0mkeyword is optional.
1mFILESYSTEM DEV
0mThe destination disk will have the file-system type which is
supplied by the 4mMountList0m entry 4mDosType0m for the destination
device. If this entry is not present (KickStart 1.3 and
earlier) default is the standard file-system.
The 1mFILESYSTEM 0mkeyword is optional.
This is the default option.
1mBUFFERMODE HUMBLE
0mIn 1mHUMBLE 0mmode 1mFastDisk 0mwill allocate as little memory as
possible to do the optimization. This of course leads to a
cutdown in execution speed, due to the lack of
block-caching. The advantage of this option is the constant
memory usage after initialization. In all other modes,
memory will be dynamically allocated when needed.
The 1mBUFFERMODE 0mkeyword is optional.
1mBUFFERMODE FAIR
0mWith this mode selected, all memory currently not used will
be returned to the system immediatly and block-caching will
be turned on. When receiving a notification of a Low-Memory
situation (via 4mASDG0m-4mLowMem0m.4mlibrary0m if installed) memory used
for pre-cached blocks will be given back and 1mFastDisk 0mwill
continue its operation in 1mHUMBLE 0mmode.
The 1mBUFFERMODE 0mkeyword is optional.
1mBUFFERMODE GREEDY
0mUnused memory is cached to avoid subsequent 4mAllocMem0m() -
4mFreeMem0m() calls. 1mFastDisk 0mwill honor Low-Memory situations
by freeing non-vital memory, but will continue in 1mGREEDY
0mmode.
The 1mBUFFERMODE 0mkeyword is optional. This is the default
option.
Torsten Stolpmann -3- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mBUFFERMODE IGNORANT
FastDisk 0mwill ignore all Low-Memory situations and will keep
all memory until completion. 1mFastDisk 0mwill also raise its
Task-Priority to 1.
The 1mBUFFERMODE 0mkeyword is optional.
1mDISPLAY CLI
0mWith this option 1mFastDisk 0mwill not open its Intuition-Window
and will use the CLI-Window it has been started from for
output. All neccessary parameters differing from the
default/environment settings must be provided in the command
line.
1mFastDisk 0mwill ask you to insert the source/destination disks
in the appropriate devices and to press <RETURN>. When
started non-interactive (for example with 3mRun FastDisk)
0m1mFastDisk 0mwill start immediatly, making it possible to use it
in a script or the startup-sequence.
The 1mDISPLAY 0mkeyword is optional.
1mDISPLAY WINDOW
0mWith this option 1mFastDisk 0mwill open its Intuition-Window
where all of the above options can be selected via Gadgets.
The 1mDISPLAY 0mkeyword is optional.
This is the default option.
All the above parameters can be specified in the environment
variable 4mFASTDISKOPTS0m also (for example: 3mSet
FASTDISKOPTS="VERIFY BUFFERMODE FAIR") 0mto override the
default settings.
The WorkBench-Tooltype settings are of the form
3mKEYWORD=OPTION 0mwhere 3mKEYWORD 0mis one of 1mFROM0m, 1mTO0m, 1mFILESYSTEM0m,
1mBUFFERMODE0m, 1mFORMAT 0mand 1mVERIFY 0mand 3mOPTION 0mone of the options
listed above (the valid options for 1mFORMAT 0mand 1mVERIFY 0mare 1mON
0mor 1mOFF 0m). When started from Workbench, 1mFastDisk 0mwill always
open its Intuition-Window.
CLI-Parameters and ToolTypes will override the default and
environment settings.
You can use 1mFastDisk 0mwith any combination of devices. The
only condition that must be fulfilled is that the data on
the source device must fit onto the destination device.
Torsten Stolpmann -4- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mTECHNICAL NOTES
0mMEMORY REQUIREMENTS
Every effort was taken to make memory-usage as low as
possible while retaining maximum performance. Each
file/directory/link on the source disk is represented
internally by a 32-Byte structure which contains all the
necessary information. This and a dynamic map of pre-cached
sectors (only for non-humble modes) are the main
memory-sinks. By comparison, additional memory allocation
is neglegible. 1mFastDisk 0mdoes not rely on large contigous
memory-areas like many other optimizers. Using 1mHUMBLE 0mmode,
it is possible to optimize a 30 MB Harddisk-Partition with
512 KB Amigas. 1 MB Memory should be sufficient for 130 MB
Partitions. These are rough estimates, as memory usage
mainly depends on the number of files, not on the size of
the partition.
OPTIMIZATION METHODS
In this release I have tried to achieve the following three
optimization-goals.
Goal 1: Fast directory listings
This is done by placing all file-headers in the same
physical order on the disk as read by the filing system,
including the ascending sorting of hash-chains which is
required for the correct behaviour of the ExNext() function
in KickStart 2.0. In addition these blocks are centered
around the RootBlock. Directory blocks are placed
immediatly after the root and bitmap blocks for fast access
to deeper nested levels.
Goal 2: Fast read-access for 3mspecial 0mFiles
To obtain minimum access time for small or often accessed
files, the data blocks of these files are placed immediatly
after the corresponding header blocks. These 3mspecial 0mfiles
include all files which contain only one or two data blocks
or whose names are 'System-Configuration',
'Startup-Sequence', 'MountList' or 'Shell-Startup' or end in
'.info'. This has a negative influence on Goal 1,
especially with directories containing many special files
(by increasing the number of tracks to be read), but is more
efficient (regarding the advantages).
Goal 3: Minimimum track boundary crossing
The remaining sectors on the destination disk are filled
with the data-sectors of the non-special files. This is
done in such a way, that each file will cross as few track
boundaries as possible, so that the number of track-seeks
and (for track-oriented devices such as trackdisk.device)
the number of complete tracks to be read is minimized.
Torsten Stolpmann -5- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mBUGS0m/1mLIMITATIONS
0m- 4mSoftlinks0m are not supported, since Kickstart 2.0 does
currently not support them (V37.166). 1mFastDisk 0mis able to
detect and suppress Softlinks (they will not be present on
the destination disk).
- The 4mMountList0m entries 4mBootBlocks0m, and 4mInterleave0m are
ignored in this release.
- 1mFastDisk 0mshould detach itself if the 1mWINDOW 0moption is
provided.
1mLEGAL STUFF 0m/ 1mDISTRIBUTION
FastDisk 0mVersion 1.9 is Copyright 1991 by Torsten Stolpmann,
all rights reserved.
The author takes absolutely no responsibility for the
functionality or the possible damage done by this software.
Use this at your own risk.
1mFastDisk 0mVersion 1.9 is freely distributable for
non-commercial purposes.
The author hereby grants Fred Fish the right to include this
software in his library of freely distributable software.
Lots of time and sweat were spent to make this an efficient,
reliable and hopefully useful tool.
If you like 1mFastDisk 0mand you can spare some money, I won't
object if you send some.
Send flames, suggestions, bug reports and lots of money to
the following adress:
Torsten Stolpmann
Wilhelm-Raabe-Str. 26 / App. 911
W 6750 Kaiserslautern
Germany
Phone: 0631/22781
You may also send email to: stolp@informatik.uni-kl.de
The adress above is valid upto November 1991.
The new adress will then be:
Industriestr. 7
W 6750 Kaiserslautern
(No new phone-number yet)
Torsten Stolpmann -6- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mACKNOWLEDGEMENTS
0mThis document was created with 1mnroff 10m.1m5 0m- ported by Olaf
Seibert (KosmoSoft).
Window, Requesters and Gadgets were created with 1mGadgetEd
20m.1m3 0mby Jan van den Baard (Jaba Developments).
1mFixDisk 10m.1m2 0mby Werner Günther was an often used tool for
Disk-Validation during development.
Jörg Mayer hacked up the fmsdisk.device to emulate disks of
any size. This way it was possible to test 1mFastDisk 0mon 330
MB Partions with a 30 MB Harddisk.
Additional thanks for suggestions, beta testing, manual
proofreading and bug reports to:
Jörg Mayer, Bernd Reh, Deon Ramsey, Volker Rudolph and
Oliver Wagner and all the others who have sent letters or
email ...
Torsten Stolpmann -7- Version 1.9
FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
1mHISTORY
0mVersion 1.5:
First public release (1987).
Version 1.8:
Second public release (1989) (minor rewrite).
Known Bugs removed:
1.5 can't process files with length 0.
Performance loss if out of memory.
New Features:
Fast memory support (1.5 used only chipmem).
Supports all kinds of devices (1.5 only supported
trackdisk.device).
Manx-Style environment support.
Version 1.9:
Third public release (July 1991) (complete rewrite).
Known Bugs removed:
No bugs reported.
New Features:
Fast-FileSystem support.
Intuition interface.
Low-Mem library support.
New asynchronous I/O routines.
Algorithm for minimized track boundary crossing of file
data-blocks.
New memory managment.
Removed necessity to hold Header-Blocks in memory.
Support for different blocksizes.
Verify mode added.
Lots more...
There exists also a program called 3mFastDisk II 0mwritten by
Oliver Wagner (published on Fish Disk). This is mainly an
'enhancement' of Version 1.5 with an Intuition-Interface.
This program is completely useless due to a serious bug
created by the global optimizer. Don't blame me for that
version, it was released before I could test or authorize
it. Due to this incident there will be no more source-code
releases of 1mFastDisk0m.
See ya in version 2.0 ...
Torsten Stolpmann -8- Version 1.9